
package nccloud.itf.hrjx.bill;

import java.io.File;
import java.io.InputStream;
import java.util.Map;

import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.hrjx.jxxsdata.AggJxXsDataVO;
import nc.vo.hrjx.jxxsdata.JxXsDataVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDate;

public interface IJxxsdatavoMaintain {

        public void delete(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] insert(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] update(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] query(IQueryScheme queryScheme)
                        throws BusinessException;

        public AggJxXsDataVO[] save(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] unsave(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] approve(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;

        public AggJxXsDataVO[] unapprove(AggJxXsDataVO[] clientFullVOs,
                        AggJxXsDataVO[] originBills) throws BusinessException;
        
        public JxXsDataVO[] createData(String[] ids) throws BusinessException;
		public JxXsDataVO[] createData(UFDate bizDate, String[] ids) throws BusinessException;
        public File getExcelFile(Map<String, String[]> webMap) throws BusinessException;
        public Map<String, Object> importExcel(InputStream fileInput, String fileName) throws Exception;
        public void workflow(String[] pks, String action, String message) throws Exception;
        public void delete(AggJxXsDataVO... aggVOs) throws Exception;
}
